package luj.game.robot.internal.dynamic.init;

import java.util.List;

import luj.game.robot.api.action.RobotBossCommand;
import luj.game.robot.api.action.RobotCreateListener;
import luj.game.robot.api.action.RobotDataCommand;
import luj.game.robot.api.boot.RobotStartListener;
import luj.game.robot.api.network.RobotProtoHandler;
import luj.game.robot.api.network.http.RobotHttpHandler;
import luj.game.robot.api.network.http.RobotHttpMeta;
import luj.game.robot.api.network.http.RobotHttpModule;

final class ResultImpl implements DynamicInitInvoker.Result {

  @Override
  public List<RobotStartListener> startListener() {
    return _start;
  }

  @Override
  public List<RobotCreateListener> createListener() {
    return _create;
  }

  @Override
  public List<RobotBossCommand<?>> bossCommand() {
    return _bossCommand;
  }

  @Override
  public List<RobotDataCommand<?>> dataCommand() {
    return _dataCommand;
  }

  @Override
  public List<RobotProtoHandler<?>> protoHandler() {
    return _protoHandler;
  }

  @Override
  public List<RobotHttpHandler> httpHandler() {
    return _httpHandler;
  }

  @Override
  public List<RobotHttpMeta> httpMeta() {
    return _httpMeta;
  }

  @Override
  public List<RobotHttpModule> httpModule() {
    return _httpModule;
  }

  List<RobotStartListener> _start;

  List<RobotCreateListener> _create;
  List<RobotBossCommand<?>> _bossCommand;
  List<RobotDataCommand<?>> _dataCommand;

  List<RobotProtoHandler<?>> _protoHandler;

  List<RobotHttpHandler> _httpHandler;
  List<RobotHttpMeta> _httpMeta;
  List<RobotHttpModule> _httpModule;
}
